昨天在建立環境的時候發現有很多相容性的問題,因此今天我想說這幾天先來學習一下tensorflow跟keras,順便把環境建立好
在vscode中創建一個檔案,並且將檔案副檔名設定為.ipynb,會看到這個畫面
在.ipynb檔案中,加上!就可以使用bash指令,打上
!python3 -m pip install -U tensorflow
在另一個cell打上
import tensorflow as tf
from tensorflow import keras
print("tensorflow version: ", tf.__version__)
print("keras version: ", keras.__version__)
可以印出tensorflow跟keras的版本
Keras有一個工具可以用來抓取和載入常見的資料集,包括MNIST、Fashion MNIST等等。那這邊我們來載入Fashion MNIST
fashion_mnist = keras.datasets.fashion_mnist
(X_train_full, y_train_full), (X_test, y_test) = fashion_mnist.load_data()
X_train_full是訓練資料,y_train_full是target,X_test是測試資料,y_test是測試資料的target
我們來看一下訓練資料的外型和資料型態
print(X_train_full.shape)
print(X_train_full.dtype)
資料已經拆成訓練集和測試集了,但是還沒有驗證集,因此我們需要做一個
另外由於要使用梯度下降來訓練神經網路,因此我們要將像素的值除以255.0,來將他們調整到0-1的範圍
X_valid, X_train = X_train_full[:5000] / 255.0, X_train_full[5000:] / 255.0
y_valid, y_train = y_train_full[:5000], y_train_full[5000:]
在MNIST中,如果標籤是5,手寫數字就是5。但是在Fashion MNIST中,我們要使用類別名稱串列來掌握目前正在處理什麼
class_names = ["T-shirt/top", "Trouser", "Pullover", "Dress", "Coat", "Sandal", "Shirt", "Sneaker", "Bag", "Ankle boot"]
class_names[y_train[0]]
例如,訓練組的第一張圖片就代表coat